﻿// See https://aka.ms/new-console-template for more information



using LogSystem; // 引用命名空间
// Program.cs
class Program
{
    static void Main(string[] args)
    {
        // 创建日志系统，选择记录方式（如控制台）
        // 创建日志系统对象
        var logSystem = new Logging("file"); // 需要加上命名空间前缀

        // 添加观察者，模拟发送邮件和短信通知
        logSystem.AddObserver(new EmailNotifier());
        logSystem.AddObserver(new SMSNotifier());

        // 创建 LogSys 实例
        Logging logging = new Logging("ConsoleLogger");
        
        // 使用 LoggerDecorator 包装 LogSys 实例
        ILogger decoratedLogger = new LoggerDecorator(logging);
        
        // 使用装饰后的日志记录器
        decoratedLogger.Log("This is a decorated log message.");

        logSystem = new Logging("file"); // 需要加上命名空间前缀

        // 记录一条日志
        logSystem.LogMessage("This is an ERROR message");
    }
}
